package cn.icanci.mv.dao;

import cn.icanci.mv.entity.Order;

import java.util.Date;
import java.util.List;

/**
 * @Author: icanci
 * @ProjectName: kangaroo-orm
 * @PackageName: cn.icanci.mv.entity.dao
 * @Date: Created in 2020/8/31 14:44
 * @ClassAction: 操作 Order 的顶级接口
 */
public interface IOrderDao {

    /**
     * - 多条件组合查询- total,create_date
     * a. 当俩个条件都没有传值的时候,则查所有的订单信息
     * b. 当只有total传值但是create_date没有传值的时候,根据total查询
     * c. 当create_date传值,但是total没有传值,根据create_date传值.
     *
     * @param total 数量
     * @param date  时间
     * @return 返回对象
     */
    List<Order> findAll(Integer total, Date date);

    /**
     * 根据客户id查询
     *
     * @param customerId 客户id
     * @return 返回结果
     */
    List<Order> findAllByCustomerId(Integer customerId);

    /**
     * 根据客户id删除
     *
     * @param customerId 客户id
     */
    void deleteByCustomerId(Integer customerId);

    /**
     * 添加一条记录
     *
     * @param order      需要添加的记录
     * @param customerId 需要添加的关联id
     */
    void insertOrder(Order order, Integer customerId);
}

